package com.lb.shopguide.http.service;

import com.lb.baselib.http.bean.BaseResponse;

import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

public interface BossService {

    @POST("merchantLogin")
    Observable<BaseResponse> bossLogin(@Body RequestBody body);

    @GET("refreshYxTokenByBoss")
    Observable<BaseResponse> refreshYXTokenInBoss();

    @POST("saveStoreStaff")
    Observable<BaseResponse> addShopManager(@Body RequestBody body);

    @POST("saveStore")
    Observable<BaseResponse> addShop(@Body RequestBody body);

    @POST("staffQuit")
    Observable<BaseResponse> staffQuit(@Body RequestBody body);

    @GET("getZoneList")
    Observable<BaseResponse> getDistrictInfo();

    @GET("scoreConfig")
    Observable<BaseResponse> getPointSettingsInShop();

    @GET("listStoreStaff")
    Observable<BaseResponse> getStaffListInStore(@Query("storeCode") String storeCode);

    @GET("listMerStoreByMerchantCode")
    Observable<BaseResponse> getStoreList();

    @GET("getMerchantStatisticsInfo")
    Observable<BaseResponse> getMerchantStaticInfo();

    @GET("getMerchantInfo")
    Observable<BaseResponse> getMerchantInfo();

    @GET("getFinancialInfo")
    Observable<BaseResponse> getFinanceList();

    @POST("scoreConfigOper")
    Observable<BaseResponse> setPointConfig(@Body RequestBody body);

    @POST("editMerchantInfo")
    Observable<BaseResponse> editMerchantInfo(@Body RequestBody body);

    @GET("getPerformanceData")
    Observable<BaseResponse> getPerformanceData(@Query("dateType") int dateType);

    @GET("getMemberData")
    Observable<BaseResponse> getMemberData();

    @GET("getMerStoreSaleCountData")
    Observable<BaseResponse> getMerStoreSaleCountData(@Query("storeCode") String storeCode);

    @GET("getStoreMoneyCountData")
    Observable<BaseResponse> getStoreMoneyCountData(@Query("storeCode") String storeCode);

    @GET("getStoreMemberData")
    Observable<BaseResponse> getStoreMemberData(@Query("storeCode") String storeCode);

    @GET("getNoviceGuidance")
    Observable<BaseResponse> getNoviceGuidance();

    @GET("listActivityByMerchantCode")
    Observable<BaseResponse> getActivityList();

    @GET("getStoreMemberProportion")
    Observable<BaseResponse> getStoreMemberProportion();

    @GET("confirmUploadFundsPaid")
    Observable<BaseResponse> confirmOrderCharge(@Query("rechargeOrderNum") String orderNum);

    @GET("getStoreById")
    Observable<BaseResponse> getStoreById(@Query("id") int id);

    @GET("listPushMessage")
    Observable<BaseResponse> getBossMessage();

    @GET("closePushMessage")
    Observable<BaseResponse> closeMsg(@Query("appMsgCode") String msgCode);

    @POST("uploadFundsOrWithdrawCash")
    Observable<BaseResponse> chargeInOutMoney(@Body RequestBody body);

    @POST("submitMerFeedback")
    Observable<BaseResponse> bossFeedback(@Body RequestBody body);

    @GET("activity/template/listTemplate")
    Observable<BaseResponse> listTemplate();

    @GET("activity/template/listActivityApplication")
    Observable<BaseResponse> listActivityApplication(@Query("type") int type);

    @GET("activity/template/listMyActivity")
    Observable<BaseResponse> listMyActivity();

    @GET("activity/template/checkActivityApplication")
    Observable<BaseResponse> checkActivityApplication(@Query("type") int type, @Query("applyCode") String applyCode);

    @GET("activity/template/listActivitySuggestion")
    Observable<BaseResponse> listActivitySuggestion();

    @GET("activity/template/hasNewActivitySuggestion")
    Observable<BaseResponse> hasNewActivitySuggestion();

    @GET("getWithdrawCashInfo")
    Observable<BaseResponse> getWithdrawCashInfo();

    //传空为读全部建议
    @GET("activity/template/readActivitySuggestion")
    Observable<BaseResponse> readActivitySuggestion(@Query("msgId") String msgId);


}
